#ifndef WINDOW_H
#define WINDOW_H

#include <Windows.h>

namespace devii
{

enum KeyState
{
	DOWN,
	UP,
};

enum InputDevice
{
	MOUSE,
	KEYBOARD,
};

class Window
{
public:
	
	Window();
	Window( unsigned int width, unsigned int height );
	virtual ~Window();

	
	void init();

	virtual void update();

	bool onMessage(unsigned int msg, WPARAM wParam, LPARAM lParam);

	virtual void onInput( int key, KeyState state, InputDevice input, LPARAM lpar ); //Override if wanted
	virtual void kill(); //Override if wanted
	virtual void onMouseMovement( float x, float y );

	unsigned int getHeight();
	unsigned int getWidth();

protected:
	unsigned int height;
	unsigned int width;
	HWND wnd;
};

}
#endif